<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MyInstanceOf</title>
</head>
<body>
    <script type="module">
        // 第1次手写
        // import myInstanceOf from './js/10_MyInstanceOf/myInstanceOf.js'

        // 第2次手写
        // import myInstanceOf from './js/10_MyInstanceOf/myInstanceOf1.js'

        // 第3次手写
        // import myInstanceOf from './js/10_MyInstanceOf/myInstanceOf2.js'

        // 第4次手写
        // import myInstanceOf from './js/10_MyInstanceOf/myInstanceOf3.js'

        // 第5次手写
        import myInstanceOf from './js/10_MyInstanceOf/myInstanceOf4.js'

        let a = 1
        console.log(a instanceof Object, myInstanceOf(a, Object))

        let fn = () => {}
        console.log(fn instanceof Function, myInstanceOf(fn, Function))

        console.log(Function instanceof Object, myInstanceOf(Function, Object))

        console.log(Object instanceof Object, myInstanceOf(Object, Object))

        let sym = Symbol()
        console.log(sym instanceof Object, myInstanceOf(sym, Object))

        let obj = {}
        console.log(obj instanceof Object, myInstanceOf(obj, Object))

        let date = new Date()
        console.log(date instanceof Object, myInstanceOf(date, Object))

        let reg = new RegExp()
        console.log(reg instanceof Object, myInstanceOf(reg, Object))

        class Person {
            constructor() {}
        }
        let obj1 = new Person()
        console.log(obj1 instanceof Person, myInstanceOf(obj1, Person))

        let obj2 = {}
        console.log(obj2 instanceof 123, myInstanceOf(obj2, 123))
    </script>
</body>
</html>